package grape.attend.rest.user.vo;
import grape.attend.service.classe.api.IClasseService;
import grape.attend.service.group.api.IGroupService;
import grape.attend.service.vacation.api.IVacationService;
import grape.common.rest.vo.BaseIdVo;

import grape.common.service.trans.TransBy;
import grape.common.service.trans.TransField;
import grape.common.service.trans.impl.DatetimeTransServiceImpl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户请假表
 * </p>
 *
 * @author yangwei
 * @since 2020-05-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="用户请假明细数据响应对象")
public class UserLeaveVo extends BaseIdVo<String> {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "开始时间")
    private Long startAt;

    @TransBy(type = DatetimeTransServiceImpl.trans_datetime,byFieldName = "startAt")
    @ApiModelProperty(value = "开始时间文本")
    private String startAtTxt;

    @ApiModelProperty(value = "结束时间")
    private Long endAt;

    @TransBy(type = DatetimeTransServiceImpl.trans_datetime,byFieldName = "endAt")
    @ApiModelProperty(value = "结束时间文本")
    private String endAtTxt;

    @ApiModelProperty(value = "假期id")
    private String vacationId;

    @TransBy(type = IVacationService.trans_vacationName,byFieldName = "vacationId")
    @ApiModelProperty(value = "假期名称")
    private String vacationName;

    @ApiModelProperty(value = "考勤组id")
    private String groupId;

    @TransBy(type = IGroupService.trans_groupName,byFieldName = "groupId")
    @ApiModelProperty(value = "考勤组名称")
    private String groupName;

    @ApiModelProperty(value = "班次id")
    private String classeId;

    @TransBy(type = IClasseService.trans_classeName,byFieldName = "classeId")
    @ApiModelProperty(value = "班次名称")
    private String classeName;

    @ApiModelProperty(value = "备注")
    private String remark;


}
